using System;
//-----------------------------------------------------------------------------
namespace MonoBED3
{
//-----------------------------------------------------------------------------	
	public class GameObject: FacadeConnector, Spatial
	{
		private int entityId;
		private bool solid;
//-----------------------------------------------------------------------------		
		public GameObject ()
		{
		}
//-----------------------------------------------------------------------------		
		public virtual FacadeConnection getConnection()
		{
			GameObjectFacade facade = new GameObjectFacade();
			facade.connect(this);
			return facade;
		}	
		
		public virtual void moveTo( float x, float y, float z ) {}
		
		public virtual float getX(){ return 1.0f; }
		public virtual float getY(){ return 2.0f; }
		public virtual float getZ(){ return 3.0f; }
		
		public virtual void setX( float x ) {
		}
		
		public virtual void setY( float y ) {
		}

		public bool isSolid() {
			return solid;
		}
		
		public void setSolidState( bool state ) {
			solid = state;	
		}
		
		public virtual void setZ( float z ) {
		}

		
		public virtual bool contains( float x, float y, float z ) {
			return ( br.odb.utils.Utils.eqFloat( x, getX() ) &&
			    br.odb.utils.Utils.eqFloat( y, getY() ) &&
			    br.odb.utils.Utils.eqFloat( z, getZ() ) );
		}
		
		public GameObject clone()
		{
			GameObject obj = new GameObject();
			return obj;
		}
//-----------------------------------------------------------------------------		
	public void connect()
		{
			
			
		}
		
		public void setId( int id ) {
			entityId = id;
		}
		
		public int getId() {
			return entityId;
		}
		
		public void disconnect()
		{
			
		}
		
		public Object getOwnerCopy()
		{
			Object obj = new Object();
			return obj;
		}		
		
	
	}
//-----------------------------------------------------------------------------	
}
//-----------------------------------------------------------------------------